package design_pattern.proxy_pattern;

/**
 * @author corn
 * @create 2021-10-22 21:50
 * @Description: 图像实现类的代理类
 */
public class ProxyImage implements Image {

    /**
     * 包含一个被代理类的实例
     */
    private RealImage realImage;
    /**
     * 文件名
     */
    private String fileName;

    public ProxyImage(String fileName){
        this.fileName = fileName;
    }

    /**
     * 展示功能---实际是调用了被代理对象的方法
     */
    @Override
    public void display() {
        if(realImage == null){
            realImage = new RealImage(fileName);
        }
        realImage.display();
    }
}
